Computer program product, system and method for providing social services to individuals by employing bi-objective optimization

ABSTRACT

A computer program product and a system are provided. The product and system provide associations between individuals having health care needs and available social services. The providing is efficient and cost effective.

TRADEMARKS

IBM® is a registered trademark of International Business MachinesCorporation, Armonk, N.Y., U.S.A. Other names used herein may beregistered trademarks, trademarks or product names of InternationalBusiness Machines Corporation or other companies.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to healthcare-related information sharing,and particularly to associating individuals having medical conditionswith needed health care resources.

2. Description of the Related Art

Health-related social service programs (SSs) are an integral part of theAmerican healthcare system. These programs seek to assist patients inmanaging their medical conditions and improving their quality of life. Afew examples of these social services include In-Home Support Services(IHSS), Healthcare Insurance Premium Payment Plan, TransportationPrograms, and Financial Assistance Programs (e.g. Supplemental SecurityIncome (SSI)). While social services are in principle helpful, they tendnot to be leveraged optimally because of a number of challengesassociated with their design, implementation, promotion and delivery.One of the leading reasons for the under-utilization of social servicesis the fact that patients have limited knowledge of these programs,their associated time constraints, eligibility requirements, etc.Reference may be had to FIG. 1. This problem of not enabling patients toleverage such social service programs results in great discomfort duringthe recovery process.

In FIG. 1, a person is shown pondering over diagnosis of a chronichealth condition, in this example, leukemia. Questions such as whatsocial services are available for the condition, how to afford healthcare, how to obtain supplemental income and others are clearly relevantto persons who are diagnosed with any chronic medical conditions such ascancer, etc.

Therefore, what is needed is a robust, automated system for providinghealth care information, social services information, and assistancewith automated access to patients.

SUMMARY OF THE INVENTION

The present invention provides a computer program product stored onmachine readable media and including machine readable instructions forexecuting a method for associating an individual, p_(i), from aplurality of m individuals, with at least one social service program, n,from a plurality of programs, the individual having a need for at leastone social service benefit, each social service program services onlyone type of need, and each social service program is characterized by acost, c_(j), and a capacity, k_(j), wherein the cost, c_(j), is incurredby a service provider for establishing a need of the individual and thecapacity k_(j), is an upper bound on a number of individuals, p, theprogram is configured to service, the method including: identifying theindividual having a need for at least one social service benefit;identifying a matrix, X, for each need, wherein each entry, X_(ij), inthe matrix, X, has one of two values wherein a first value correspondsto association of the individual to a service, S_(j), and a second valuecorresponds to a non-association of the individual to the service,S_(j); and associating the individual to the service, S_(j), for eachneed, wherein the associating is performed according to an algorithm.

The present invention also provides a service provider for associatingindividuals with social services, the service provider including: aprocessing system for executing machine readable instructions stored onmachine readable media and provided to the processing system, theinstructions including instructions for for executing a method forassociating an individual, p_(i), from a plurality of m individuals,with at least one social service program, n, from a plurality ofprograms, the individual having a need for at least one social servicebenefit, each social service program services only one type of need, andeach social service program is characterized by a cost, c_(j), and acapacity, k_(j), wherein the cost, c_(j), is incurred by a serviceprovider for establishing a need of the individual and the capacityk_(j), is an upper bound on a number of individuals, p, the program isconfigured to service, the method including: identifying the individualhaving a need for at least one social service benefit; identifying amatrix, X, for each need, wherein each entry, X_(ij), in the matrix, X,has one of two values wherein a first value corresponds to associationof the individual to a service, S_(j), and a second value corresponds toa non-association of the individual to the service, S_(j); andassociating the individual to the service, S_(j), for each need, whereinthe associating is performed according to an algorithm.

In a further embodiment, a service provider for associating individualswith social services is disclosed and includes: a processing system forexecuting machine readable instructions stored on machine readable mediaand provided to the processing system, the instructions includinginstructions for for executing a method for associating an individual,p_(i), from a plurality of m individuals, with at least one socialservice program, n, from a plurality of programs, the individual havinga need for at least one social service benefit, each social serviceprogram services only one type of need, and each social service programis characterized by a cost, c_(j), and a capacity, k_(j), wherein thecost, c_(j), is incurred by a service provider for establishing a needof the individual and the capacity k_(j), is an upper bound on a numberof individuals, p, the program is configured to service, the methodincluding: sorting into a first list individuals in decreasing order ofpriority; sorting into a second list services in increasing order ofcost incurred by a service provider to establish a need of theindividual; traversing the first and second lists from top to bottom,and associating every individual with a lowest possible cost servicewhose capacity has not been exhausted.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter which is regarded as the invention is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other objects, features, andadvantages of the invention are apparent from the following detaileddescription taken in conjunction with the accompanying drawings inwhich:

FIG. 1 illustrates one example of a patient pondering health carerelated issues for a medical condition;

FIG. 2 illustrates one example of a computing environment forimplementing the teachings herein; and

FIG. 3 depicts test result data.

The detailed description below explains the preferred embodiments of theinvention, together with advantages and features, by way of example withreference to the drawings.

DETAILED DESCRIPTION OF THE INVENTION

The present invention provides a computer program product and system forproviding health care, social service and other related types ofinformation. The information is generally obtained from the system andprovided to a user in the context of a specific health care matter.

Accordingly, disclosed herein are embodiments that include a centralizedservice provider (SP), which takes as input the benefits offered byproviders of social services (SSs) in the context of needs of a patient.The service provider then uses a novel method to optimally assign (e.g.,associates) patients to social services that may help providecomprehensive patient care. The service provider may be very beneficialto patients with chronic diseases (such as heart disease, cancer,diabetes, etc.) who want to lead their lives as normally as possible.The service provider may be a single, real authoritative and separateentity, a virtual consolidation of disparate entities, and otherembodiments as might be devised. Regardless, the service providergenerally provides for satisfying needs of patients while minimizingcost of operation.

As discussed herein, minimizing cost corresponds to cost of associatingpatients with social services and implementing these services on thepatients' behalf Formally, it may be stated that the service providerhas a bi-objective goal, or a dual performance goal—minimize the cost ofproviding social service to a patient, and maximize the satisfaction ofthe patient. Accordingly, the service provider is generally designed andconstructed with informatics and computer science theory in mind, suchthat it enables the service provider to solve problems and provideoptimal solutions.

Referring to FIG. 2, there is shown an embodiment of a processing system100 for implementing the teachings herein. In this embodiment, thesystem 100 has one or more central processing units (processors) 101 a,101 b, 101 c, etc. (collectively or generically referred to asprocessor(s) 101). In one embodiment, each processor 101 may include areduced instruction set computer (RISC) microprocessor. Processors 101are coupled to system memory 114 and various other components via asystem bus 113. Read only memory (ROM) 102 is coupled to the system bus113 and may include a basic input/output system (BIOS), which controlscertain basic functions of system 100.

FIG. 2 further depicts an input/output (I/O) adapter 107 and a networkor communications adapter 106 coupled to the system bus 113. I/O adapter107 may be a small computer system interface (SCSI) adapter thatcommunicates with a hard disk 103 and/or tape storage drive 105 or anyother similar component. I/O adapter 107, hard disk 103, and tapestorage device 105 are collectively referred to herein as mass storage104. A network adapter 106 interconnects bus 113 with an outside network116 enabling data processing system 100 to communicate with other suchsystems. A screen (e.g., a display monitor) 115 is connected to systembus 113 by display adaptor 112, which may include a graphics adapter toimprove the performance of graphics intensive applications and a videocontroller. In one embodiment, adapters 107, 106, and 112 may beconnected to one or more I/O busses that are connected to system bus 113via an intermediate bus bridge (not shown). Suitable I/O buses forconnecting peripheral devices such as hard disk controllers, networkadapters, and graphics adapters typically include common protocols, suchas the Peripheral Components Interface (PCI). Additional input/outputdevices are shown as connected to system bus 113 via user interfaceadapter 108 and display adapter 112. A keyboard 109, mouse 110, andspeaker 111 all interconnected to bus 113 via user interface adapter108, which may include, for example, a Super I/O chip integratingmultiple device adapters into a single integrated circuit.

Thus, as configured in FIG. 2, the system 100 includes processing meansin the form of processors 101, storage means including system memory 114and mass storage 104, input means such as keyboard 109 and mouse 110,and output means including speaker 111 and display 115. In oneembodiment, a portion of system memory 114 and mass storage 104collectively store an operating system such as the AIX® operating systemfrom IBM Corporation to coordinate the functions of the variouscomponents shown in FIG. 2.

It will be appreciated that the system 100 can be any suitable computeror computing platform, and may include a terminal, wireless device,information appliance, device, workstation, mini-computer, mainframecomputer, personal digital assistant (PDA) or other computing device.

Examples of operating systems that may be supported by the system 100include Windows 95, Windows 98, Windows NT 4.0, Windows XP, Windows2000, Windows CE, Windows Vista, Macintosh, Java, LINUX, and UNIX, orany other suitable operating system. The system 100 also includes anetwork interface 116 for communicating over a network. The network canbe a local-area network (LAN), a metro-area network (MAN), or wide-areanetwork (WAN), such as the Internet or World Wide Web.

Users of the system 100 can connect to the network through any suitablenetwork interface 116 connection, such as standard telephone lines,digital subscriber line, LAN or WAN links (e.g., T1, T3), broadbandconnections (Frame Relay, ATM), and wireless connections (e.g.,802.11(a), 802.11(b), 802.11(g)).

As disclosed herein, the system 100 includes machine readableinstructions stored on machine readable media (for example, the harddisk 104) for capture and interactive display of information shown onthe screen 115 of a user. As discussed herein, the instructions arereferred to as “software” 120. The software 120 may be produced usingsoftware development tools as are known in the art. The software 120 mayinclude various tools and features for providing user interactioncapabilities as are known in the art.

In some embodiments, the software 120 is provided as an overlay toanother program. For example, the software 120 may be provided as an“add-in” to an application (or operating system). Note that the term“add-in” generally refers to supplemental program code as is known inthe art. In such embodiments, the software 120 may replace structures orobjects of the application or operating system with which it cooperates.

The software 120 may be native to (written to function within) computerapplication code programs (for example, C, C++, Perl, XML, HTML andothers), other programs typically regarded as computing environments(UNIX, LINUX, DOS, and others) as well as other types of programs.

As a matter of convention herein, it is considered that the “software”120 provides for dissemination of “social service information.”Accordingly, it is considered that “social service information” asdiscussed herein may include the various forms of information andcommunications available from social service agencies, health careproviders, insurers, governmental agencies, emergency service providers,hospitals, clinics, universities, foundations, collaborations,partnerships, third party providers, advertisers, manufacturers,retailers and other such parties that produce useful information for auser.

As may be used herein, the term “automated” generally refers to acapability of the software 120 to perform intended functions withminimal, limited or no intervention or supervision by a user.

Accordingly, in one embodiment, the software 120 is provided as acentralized service provider, (SP). The service provider (SP) takes asinput the benefits offered by social services and the needs of patientsand then optimally assigns patients to social services that will helpprovide comprehensive patient care. The software 120 is equipped toprovide a variety of benefits to patients with chronic diseases such as,heart disease, cancer, diabetes, who want to lead their lives asnormally as possible. In various embodiments, the software 120 is asingle, real authoritative and separate entity. Alternatively, thesoftware 120 may be a virtual consolidation of disparate entities. Anycombination may be had as well. Regardless, the software 120 generallyprovides for, simultaneously and maximally addressing needs of a patientas well as minimizing system cost (i.e., a cost corresponding toassociating patients with social services). Accordingly, it may beconsidered that the software 120 (i.e., service provider) has abi-objective (or a dual objective) to satisfy.

There are assets and liabilities in the present day American socialservice system. On a positive side, there are a number of socialservices programs that offer benefits well-suited to the needs of amajority of people diagnosed with chronic medical conditions. On thenegative side, there are a number of challenges associated with thesesocial services, which effectively render them useless. Accordingly,presented below is a consideration of a number of research challenges. Asimple example would be the transformation of paper-based processesadopted by the high demand health-related social services. Generally,such services are rudimentary in nature and strictly adhered to by theadministrative staff who manually performs the eligibility evaluations.As an example, consider the following problems encountered in attemptingto help patients acquire the social service benefits:

1. Discovery of Social Services: Currently, the information on socialservices is often not available in intuitive or convenient locations.This is an important concern for someone with more troubling concerns ontheir mind. Thus, a key concern is being able to automatically discoverand identify different social services that might be available.

2. Personalization of Results: For discovered social services, it shouldbe possible to determine the most appropriate program for a particularpatient. Generally, it takes considerable time and energy to wadethrough information provided by social services to ascertainapplicability to a user. Accordingly, the software 120 provided hereinincludes an intelligent engine that, given diagnosis, medical records,personal information, etc., can determine the applicable social servicesbased on the patient's condition. This is simply referred to as the“personalization” of social services.

3. Optimal Assignment of Social Services to Patients: Given that thereare social services that offer specific benefits (and have capacityconstraints) and that there are patients who have specific needs (andpriorities for these needs), the optimal assignment problem is how tosatisfy all these requirements.

4. Automated Acquisition of Benefits from Social Service Programs: Giventhe current manner in which social services are structured, patientsgenerally have to rely on labor intensive, manual, paper-based processesto work with the administrators of these social service benefits. Thisis a significant inhibitor to patients successfully acquiring benefits.Enabling automatic form-filling and workflow process management areimportant aspects of benefit acquisition.

In particular, the software 120 provides for optimally assigning socialservices to patients. Note that given some arbitrary criteria, alignmentof social services with needs of patients is not a naive matchingproblem (where the system finds a match between both sides). Rather,matching is a first step (or a pre-processing step) in alignment ofbenefits. In particular, the software 120 is proficient in a step aftermatching—how to optimally assign social services to patients. Therationale behind why this problem cannot be solved by matching is thatassignment of arbitrary services to arbitrary patients may not becompleted even though they can be matched. We need to consider thepriority of a patient's need (as a patient can have many differentneeds) and the capacity of the social services. Additionally,collections of patients (instead of one after another) must beconsidered in order to make an optimal decision.

In some embodiments, the software 120 provides a solution that ispredicated on the existence of an engine that either sits at a trustedlocation between the patient and the service provider or sits at thepatient's site, which is inherently trusted by the patient. For purposesof the example discussed herein, it is assumed that a trusted locationis in the center. The engine receives input from the patients and, basedon prior knowledge provided by each of the social services, executes thealgorithm for optimal allocation. Consider the following example whereina formal problem definition used by the system, an algorithm the engineimplements and the experimentation performed are all presented.

Problem Formulation

When considering allocation, assume there are m patients (p₁, . . . ,p_(m)), each of whom have specific needs (e.g., a need fortransportation assistance). Also, assume there are n social serviceprograms (S₁, . . . , S_(n)) available to satisfy needs. Every patient,p_(i), corresponds to a real value in the interval [0, 1] that indicatesthe priority that the patient has for the respective need, irrespectiveof which social service is assigned to that patient to satisfy the need.Every S_(j) is characterized by two values c_(j), k_(j) where c_(j)corresponds to the cost incurred by the service provider (i.e., thesoftware 120) to establish the need of a patient with S_(j) and k_(j) isan integer value that denotes the upper bound on the number of patientsS_(j) can serve, (i.e., capacity of S_(j)). The goal of the serviceprovide is to maximize the overall satisfaction of the patients,minimize the total establishment cost and of course respect the hardcapacity constraints of social services imposed by the bound k_(j).Thus, the problem is to find a 0-1 assignment matrix X for everypatient, (i.e. assign services to patients for that specific need). Eachentry X_(ij) takes values either 1 or 0 corresponding to the assignmentof social service S_(j) to patient p_(i) or not respectively. In thisexample, the assignment is such that:

$\begin{matrix}{{{\min\left\{ {{\sum\limits_{j}^{\;}\; k_{j}},m} \right\}} \leq {\sum\limits_{i,j}^{\;}\; x_{ij}} \leq {\sum\limits_{j}^{\;}\; k_{j}}};{{for}\mspace{14mu}{every}\mspace{14mu}{i:{{\sum\limits_{j}^{\;}\; x_{ij}} \leq 1.}}}} & (1)\end{matrix}$

That is, every social service can serve at most k_(j) patients and everypatient can only satisfy his needs by at most one social service. At thesame time the assignment should minimize the total costs and maximizepatient satisfaction (weighted by the priority). Thus, for every need k:minΣ_(i,j)c_(j)x_(ij), and  (2);maxΣ_(i,j)p_(i)x_(ij).  (3)

Next, the above problem is shown with two objectives that can be solvedoptimally by an algorithm. An example of the algorithm is provided belowand referred to as “DOUBLESORT.”

For the specific optimization problem presented, an efficientpolynomial-time algorithm is presented that gives an optimal solution.First, the algorithm is described. Following the description is a proof.

The exemplary algorithm proceeds as follows:

-   -   1. Sort patients in decreasing order of p_(i);    -   2. Sort social services in increasing order of c_(j);    -   3. Traverse the sorted lists from top to bottom and satisfy the        need of every patient with the service with the lowest possible        cost whose capacity has not been yet exhausted.

As an evaluation of performance of the DOUBLESORT algorithm, considerthe following proof First, it should be recognized that if there areenough social services, then all the patients can be satisfied, theoverall satisfaction level is by default maximized. Since socialservices are chosen in increasing order of cost, the total cost istherefore minimized. Similarly, if there are not enough social servicesavailable to satisfy need, then by definition all of them will beconsumed by the patients, the total cost can not be further reduced.Since the software 120 tries to satisfy patients in increasing order oftheir needs, the overall satisfaction level is maximized in thatsituation.

The run time, O, of the DOUBLESORT algorithm is dominated by the sortingof the patients and the social services and therefore may be determinedas: O n log(n)+m log(m)).

It is natural that each patient could have multiple different needs. Inthat case, the algorithm may run independently for every need. However,it should be noted that a single social service can help each patientwith respect to only one of his/her needs.

As an evaluation of the algorithm, experiments were performed on 10,000patients to evaluate the solution provided by the software 120 against abaseline approach that randomly assigns social services to patientswithout considering any constraints or objectives. A simulatedenvironment in this instance of the project was used.

In the experiments, priority values p_(i) were chosen uniformly atrandom from interval [0; 1]. The costs, c_(i), were generated from achi-square distribution with two degrees of freedom. That is, if χ_(i),i=1, . . . , k, are k independent, normally distributed random variableswith mean 0 and variance 1, then a random variable Σ_(i-1) ^(k)χ_(i) isdistributed according to the chi-square distribution, and k specifiesthe number of degrees of freedom.

Using this distribution, selection of social services was performed suchthat most of had low costs while only a few had high costs. To simulatemore realistic capacity constraints, a total number of available socialservices was changed to make sure that only a fraction of patients couldbe served.

Experimental results are depicted in FIG. 3. In FIG. 3, the y-axis ofthe top figure represents the overall satisfaction (see Equation 3), they-axis of the bottom figure represents the total cost (see Equation 2).The x-axes of both figures implicitly represent the capacities of theavailable social services. It can be observed that the algorithm asdescribed above achieves much lower cost while much higher overallsatisfaction for different percentage of the patients who can besatisfied.

In a world of scarce resources and with an increased push towards theweb enablement of healthcare services, it becomes very important toensure that patients are efficiently able to leverage the socialservices available to them and thus get the best care possible withoutexerting significant cost on providers of public health services.Currently, there is a lot of attention on the computerization ofoperational, patient-focused activity, at the point of care. Scanteffort has been placed on bridging the divide between point-in-timehealthcare and the associated supporting public health resourceallocations, which are needed to enable complete care management (i.e.from diagnosis to treatment to long-term service acquisition thatbolsters recovery). Accordingly, presented herein are foundations foroptimally associating social service programs (SSs) with patients orindividuals, given their specific set of needs. Presented is a methodfor providing social services to patients by employing bi-objectiveoptimization—minimize the cost to assign a social service program to apatient and maximize the satisfaction of the patient.

Although the teachings herein are geared to the American healthcaremarket, the observations and technology are generic and can be appliedelsewhere easily. For example, aside from other jurisdictions, similarproblems exist in other domains, such as how an auto insurance companyassigns repair shops to a set of customers so that the cost is minimizedand at the same time ensuring the customers are satisfied.

The capabilities of the present invention can be implemented insoftware, firmware, hardware or some combination thereof.

As one example, one or more aspects of the present invention can beincluded in an article of manufacture (e.g., one or more computerprogram products) having, for instance, computer usable media. The mediahas embodied therein, for instance, computer readable program code meansfor providing and facilitating the capabilities of the presentinvention. The article of manufacture can be included as a part of acomputer system or sold separately.

Additionally, at least one program storage device readable by a machine,tangibly embodying at least one program of instructions executable bythe machine to perform the capabilities of the present invention can beprovided.

The flow diagrams depicted herein are just examples. There may be manyvariations to these diagrams or the steps (or operations) describedtherein without departing from the spirit of the invention. Forinstance, the steps may be performed in a differing order, or steps maybe added, deleted or modified. All of these variations are considered apart of the claimed invention.

While the preferred embodiment to the invention has been described, itwill be understood that those skilled in the art, both now and in thefuture, may make various improvements and enhancements which fall withinthe scope of the claims which follow. These claims should be construedto maintain the proper protection for the invention first described.

What is claimed is:
 1. A computer program product comprising: anon-transitory computer readable storage medium having computer readableinstructions stored thereon, the computer readable instructionsexecutable by a processor to identify a plurality of individuals, eachof the individuals having a corresponding social service need that isassociated with a priority, the priority represented as a numericalvalue within a specified range; identify a plurality of programs, eachof the programs providing a service to address only one type of socialservice need, and each of the programs associated with a cost and amaximum number of the individuals to be associated with the program;sort into a first list the individuals in decreasing order of thepriority associated with the corresponding social service need such thata first entry of the first list is an individual with a correspondingsocial service need having a highest priority; sort into a second listthe programs in increasing order of the cost associated with eachprogram; and associate, in turn, each individual from the first list,beginning with the individual with the corresponding social service needhaving the highest priority, with a program from the second list with alowest cost based on the program meeting a type of the correspondingsocial service need of the individual and the maximum number not beingreached for the program, wherein at least one of the individuals is ahealthcare patient, and at least one of the programs is a healthcareprogram, and the associate, in turn, each individual from the list witha program from the second list is completed in a time period given by aruntime based on a sum of a logarithmic value of a total number of theprograms and a logarithmic value of a total number of the individuals.2. A system comprising: a memory having computer readable instructions;and a processor for executing the computer readable instructions, theinstructions including: identifying a plurality of individuals, each ofthe individuals having a corresponding social services need that isassociated with a priority, the priority represented as a numericalvalue within a specified range; identifying a plurality of programs,each of the programs providing a service to address only one type ofsocial service need, and each of the programs associated with a cost anda maximum number of the individuals to be associated with the program;sorting into a first list the individuals in decreasing order of thepriority associated with the corresponding social service need such thata first entry of the first list is an individual with a correspondingsocial service need having a highest priority, sorting into a secondlist the programs in increasing order of the cost associated with eachprogram; and associating, in turn, each individual from the first list,beginning with the individual with the corresponding social service needhaving the highest priority, with a program from the second list with alowest cost based on the program meeting a type of the correspondingsocial service need of the individual and the maximum number not beingreached for the program, wherein at least one of the individuals is ahealthcare patient, and at least one of the programs is a healthcareprogram, and the associating, in turn, each individual from the firstlist with a program from the second list is completed in a time periodgiven by a runtime based on a sum of a logarithmic value of a totalnumber of the programs and a logarithmic value of a total number of theindividuals.
 3. A method comprising: identifying a plurality ofindividuals, each of the individuals having a corresponding socialservices need that is associated with a priority, the priorityrepresented as a numerical value within a specified range; identifying aplurality of programs, each of the programs providing a service toaddress only one type of social service need, and each of the programsassociated with a cost and a maximum number of the individuals to beassociated with the program; sorting into a first list, by a computerprocessor, the individuals in decreasing order of the priorityassociated with the corresponding social service need such that a firstentry of the first list is an individual with a corresponding socialservice need having a highest priority, sorting into a second list, bythe computer processor, the programs in increasing order of the costassociated with each program; and associating, in turn, by the computerprocessor, each individual from the first list, beginning with theindividual with the corresponding social service need having the highestpriority, with a program from the second list with a lowest cost basedon the program meeting a type of the corresponding social service needof the individual and the maximum number not being reached for theprogram, wherein at least one of the individuals is a healthcarepatient, and at least one of the programs is a healthcare program, andthe associating, in turn, each individual from the first list with aprogram from the second list is completed in a time period given by aruntime based on a sum of a logarithmic value of a total number of theprograms and a logarithmic value of a total number of the individuals.